package com.ruoyi.basedata.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.basedata.domain.MeterSheets;
import com.ruoyi.basedata.domain.TerminalsDb;
import com.ruoyi.basedata.domain.vo.TerminalsDbProtocol;
import com.ruoyi.basedata.wxentity.Terminals;
import org.apache.ibatis.annotations.MapKey;

import java.util.List;
import java.util.Map;

/**
 * 大档案Mapper接口
 *
 * @author ruoyi
 * @date 2023-09-07
 */
public interface TerminalsDbMapper extends BaseMapper<TerminalsDb> {
    /**
     * 查询大档案
     *
     * @param id 大档案主键
     * @return 大档案
     */
    public TerminalsDb selectTerminalsDbById(Long id);
    /**
     * 查询大档案
     *
     * @param terminalId 大档案编号
     * @return 大档案
     */
    public TerminalsDb selectTerminalsDbByTerminalId(String terminalId);
    /**
     * 查询大档案列表
     *
     * @param terminalsDb 大档案
     * @return 大档案集合
     */
    public List<TerminalsDb> selectTerminalsDbList(TerminalsDb terminalsDb);

    /**
     * 新增大档案
     *
     * @param terminalsDb 大档案
     * @return 结果
     */
    public int insertTerminalsDb(TerminalsDb terminalsDb);

    /**
     * 修改大档案
     *
     * @param terminalsDb 大档案
     * @return 结果
     */
    public int updateTerminalsDb(TerminalsDb terminalsDb);

    /**
     * 删除大档案
     *
     * @param Id 大档案主键
     * @return 结果
     */
    public int deleteTerminalsDbById(Long Id);

    /**
     * 批量删除大档案
     *
     * @param Ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTerminalsDbByIds(Long[] Ids);

    /**
     * 根据通讯地址、厂家编码查询设备
     *
     * @param terminalsDb
     * @return
     */
    public List<TerminalsDbProtocol> selectTerminalsDbProtocolList(TerminalsDb terminalsDb);


    Integer updateTerminalMark(Long id);

    List<Terminals> selectWXTerminalsDbById(Long id);


    /**
     * 获取每个区域下面有多少设备
     * @return 区域id和设备数量
     */
    List<MeterSheets> selectCountBySheetsId();
}
